The physical elements in a packet-based data communication system commonly include multi-port units such as switches and routers. Such units are commonly and conveniently manufactured with a fixed plurality of ports by means of which the units can be connected by way of appropriate transmission links (such as cables or optical fibres) to other units or user terminals. In order to provide greater versatility in constructing networks while minimising the number of different sizes of units that need to be deployed it is known from EP-0912944 and also various switches, such as the Super Stack 3 Switch 3300 made by 3Com Corporation, to render the units ‘stackable’ by which is meant that a multiplicity of them can be interconnected to form effectively a single controllable entity. It is customary to make such units physically stackable in a column although this physical aspect of the term is not essential to the meaning of ‘stackable’ or to the present invention.
In order to provide intercommunication between the units, so that for example packets received at any of the ordinary ports (commonly termed ‘front panel’ ports) can be forwarded from a port or ports on another unit or units, depending on the addressing of the packets and the nature of them, it is customary to connect stacked units together by means of a cascade, which is the term used for the communication links and associated control functions by means of which packets are transmitted between the units in the stack.
The design and organisation of a cascade are attended by some considerable complexity. For example, the forwarding of packets on the cascade has to be controlled according to a variety of rules which are intended to conform, for each particular unit, to the forwarding rules relevant for different types of packet, such as unicast, broadcast and multicast, as well as other relevant rules such as those relating to bridging. The rules may need to be preserved or modified to make the operation of the cascade more convenient or more versatile. Furthermore, as will be more particularly appreciated hereinafter, it is desirable to employ a packet format which accommodates information particular to the operation of the cascade. One example among many, is, as described in GB-2359692, the modification of packets to enable them to obey proper forwarding rules when ports on some but not necessarily all the units are members of a trunk, namely a multi-link connection from those ports to another unit or stack of units.
An added difficulty arises when it is desired to form a cascade connection of units such that the connection can accommodate the addition of units into the cascade or the removal of units from the cascade or even the failure of one or more units in the cascade or failure or removal of links (such as cables) between units without requiring manual adaptation or reconfiguration and which allows the augmented or diminished or partially defective cascade to continue operation after only a momentary delay. The terms ‘hot-swap’ or ‘hot insertion’ are conveniently used to refer to the exchange or insertion of units which allows the cascade connection to function immediately after the swapping or insertion process takes place. The term ‘self-healing’ may be used to indicate the nature of a cascade which can, despite the failure of a unit or link, continue to function in respect of the other units in the cascade.
It is known from published GB patent application No. 2357390 to provide a limited form of self-healing, employing a single bidirectional cascade which can revert to a unidirectional cascade if a link or unit fails. That earlier proposal requires in its described form complex forwarding rules which are not easy to accommodate with other forwarding rules that the units may need to observe. The proposal does not indicate how hot insertion or hot swapping may be achieved in practice.
In the 3Com switch type 4400 a cascade data path and a cascade control path can be maintained irrespective of the operational state of the network units in a stack by means of three-port connectors (known as T-pieces). These connectors have internal hardware processing circuits coupled to a ‘Down’ port, an ‘Up’ port and a module port which is connected to a respective unit. The processing circuits can compute and convey identification numbering (i.e. ‘UnitIDs’) and an active unit count by means of control frames sent and received at each of the three ports. However, these circuits and the associated multiplexing impose a considerable hardware processing overhead which increases (owing to the need for active clock and data recovery) with higher bit rates.